package com.itheima.utils;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.itheima.vo.PageBean;

/**
 * @Description 定义一个类型转换器工具类
 * @Created by itheima
 */
public class ConverterUtil<T> {
    /**
     * 将pageInfo转化成自定义的pageBean对象
     * @param pageInfo
     * @return
     */
    public PageBean<T> convertFromPageInfoToPageBean(IPage<T> pageInfo){
        PageBean<T> pageBean = new PageBean<>();
        //设置首页
        pageBean.setFirstPage(1l);
        //获取当前页
        pageBean.setCurPage(pageInfo.getCurrent());
        //计算下一页
        long curPage = pageInfo.getCurrent();
        long allPages = pageInfo.getPages();
        long nextPage=curPage+1>allPages?allPages:curPage+1;
        //计算上一页
        long prePage= curPage-1>0?curPage-1:1;
        //设置下一页
        pageBean.setNextPage(nextPage);
        //设置总页数
        pageBean.setTotalPage(allPages);
        //设置总记录数
        pageBean.setCount(pageInfo.getTotal());
        //设置每页大小
        pageBean.setPageSize(pageInfo.getSize());
        //设置上一页
        pageBean.setPrePage(prePage);
        //设置当前页的内容集合
        pageBean.setData(pageInfo.getRecords());
        return pageBean;
    }
}